package com.easy.cloud.web.service.upms.biz.service;

import cn.hutool.core.lang.tree.Tree;
import com.easy.cloud.web.service.upms.api.dto.DeptDTO;
import com.easy.cloud.web.service.upms.api.vo.DeptVO;

import java.util.List;

/**
 * Department interface
 *
 * @author Fast Java
 * @date 2023-08-03 15:00:02
 */
public interface IDeptService {

    /**
     * 新增数据
     *
     * @param deptDTO 保存参数
     * @return com.easy.cloud.web.service.upms.api.vo.DepartmentVO
     */
    DeptVO save(DeptDTO deptDTO);

    /**
     * 更新数据，默认全量更新
     *
     * @param deptDTO 保存参数
     * @return com.easy.cloud.web.service.upms.api.vo.DepartmentVO
     */
    DeptVO update(DeptDTO deptDTO);

    /**
     * 根据ID删除数据
     *
     * @param deptId 对象ID
     * @return java.lang.Boolean
     */
    Boolean removeById(String deptId);

    /**
     * 根据ID获取详情
     *
     * @param deptId 对象ID
     * @return java.lang.Boolean
     */
    DeptVO detailById(String deptId);

    /**
     * 获取部门树
     *
     * @return java.util.List<cn.hutool.core.lang.tree.Tree < java.lang.String>>
     */
    List<Tree<String>> tree();
}